package com.xingkeduo.pojo.query;

import com.xingkeduo.pojo.table.JobseekerAssessRateTO.Type;
import com.xingkeduo.util.pojo.base.BaseQuery;
import com.xingkeduo.util.pojo.enums.YesNoEnum;
import org.apache.ibatis.type.Alias;

import java.util.List;
import java.util.Set;

/**
 * 求职者考核评分查询类
 *
 * @author 高杰
 * @time 2018年12月24日 下午3:54:32
 * @description
 */
@Alias("JobseekerAssessRateQO")
public class JobseekerAssessRateQO extends BaseQuery<JobseekerAssessRateQO> {
    private long assessId;
    private Type type;

    private Set<Integer> typeSet;

    private Set<ScoreEnums> scoreSet;

    private Set<Integer> scoreList;

    private List<Long> jobseekerAssesIds;

    private List<Long> ids;

    private YesNoEnum isDelete;

    //新增三个评分
    private List<Integer> firstNum;

    private List<Integer> techNum;

    private List<Integer> attAinNum;

    public List<Integer> getFirstNum() {
        return firstNum;
    }

    public JobseekerAssessRateQO setFirstNum(List<Integer> firstNum) {
        this.firstNum = firstNum;
        return this;
    }

    public List<Integer> getTechNum() {
        return techNum;
    }

    public JobseekerAssessRateQO setTechNum(List<Integer> techNum) {
        this.techNum = techNum;
        return this;
    }

    public List<Integer> getAttAinNum() {
        return attAinNum;
    }

    public JobseekerAssessRateQO setAttAinNum(List<Integer> attAinNum) {
        this.attAinNum = attAinNum;
        return this;
    }

    public enum ScoreEnums {
        ONE(1),
        TWO(2),
        THREE(3),
        FOUR(4),
        FIVE(5);

        ScoreEnums(int value) {
            this.value = value;
        }

        private int value;

        public static int getValue(String score) {
            switch (score) {
                case "ONE":
                    return 1;
                case "TWO":
                    return 2;
                case "THREE":
                    return 3;
                case "FOUR":
                    return 4;
                case "FIVE":
                    return 5;
                default:
                    return 0;
            }
        }

    }

    public long getAssessId() {
        return assessId;
    }

    public JobseekerAssessRateQO setAssessId(long assessId) {
        this.assessId = assessId;
        return this;
    }

    public Type getType() {
        return type;
    }

    public JobseekerAssessRateQO setType(Type type) {
        this.type = type;
        return this;
    }

    public Set<Integer> getTypeSet() {
        return typeSet;
    }

    public JobseekerAssessRateQO setTypeSet(Set<Integer> typeSet) {
        this.typeSet = typeSet;
        return this;
    }

    public Set<ScoreEnums> getScoreSet() {
        return scoreSet;
    }

    public JobseekerAssessRateQO setScoreSet(Set<ScoreEnums> scoreSet) {
        this.scoreSet = scoreSet;
        return this;
    }

    public Set<Integer> getScoreList() {
        return scoreList;
    }

    public JobseekerAssessRateQO setScoreList(Set<Integer> scoreList) {
        this.scoreList = scoreList;
        return this;
    }

    public List<Long> getJobseekerAssesIds() {
        return jobseekerAssesIds;
    }

    public JobseekerAssessRateQO setJobseekerAssesIds(List<Long> jobseekerAssesIds) {
        this.jobseekerAssesIds = jobseekerAssesIds;
        return this;
    }

    public YesNoEnum getIsDelete() {
        return isDelete;
    }

    public JobseekerAssessRateQO setIsDelete(YesNoEnum isDelete) {
        this.isDelete = isDelete;
        return this;
    }

    public List<Long> getIds() {
        return ids;
    }

    public JobseekerAssessRateQO setIds(List<Long> ids) {
        this.ids = ids;
        return this;
    }
}
